def rmb_to_number(rmb_str):
    rmb_dict = {
        '壹': 1, '贰': 2, '叁': 3, '肆': 4, '伍': 5, '陆': 6, '柒': 7, '捌': 8, '玖': 9,
        '拾': 10, '佰': 100, '仟': 1000, '万': 10000, '亿': 100000000,
        '零': 0, '元': 1, '角': 0.1, '分': 0.01, '整': 0, '圆': 1
    }

    total = 0
    temp_sum = 0

    # 去掉字符串中的空格
    rmb_str = rmb_str.replace(' ', '')

    for char in reversed(rmb_str):
        if char in rmb_dict:
            ntype = 0  # 0: 单位，1: 数字
            if char in ['壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']:
                ntype = 1
            num = rmb_dict[char]
            if ntype == 0:  # 单位（元、角、分等）
                temp_sum = num
            else:  # 数字部分
                total += temp_sum*num

    return round(total, 2)  # 保留两位小数

# 示例使用
rmb_amount = "贰佰伍拾陆圆整"
numeric_value = rmb_to_number(rmb_amount)
print(numeric_value)  # 输出: 12345.05
